﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace LABORATORIOCAPS2LIBRES.Analisis
{
    public partial class FrmAgregarProfesionales : Form
    {
        LABORATORIOEntities context;
        public int? profesional_id;

        bool editando = false;

        bool nombreValido = false;


        Icon fail = SystemIcons.Error;
        Icon good = SystemIcons.Hand;


        public FrmAgregarProfesionales()
        {
           
            try
            {
                InitializeComponent();
                context = new LABORATORIOEntities();

            }
            catch (Exception er)
            {
                MessageBox.Show(er.Message);
            }
        }

        public FrmAgregarProfesionales(int ProfesionalID)
        {
                InitializeComponent();
                editando = true;
                this.Text = "Modificar datos del cliente";

                //context = new DisancoEntities(Ferreteria.Clases.Constantes.cadenaConexion);
             

                Profesionales profesional = context.Profesionales.FirstOrDefault(c => c.idprofesional == ProfesionalID);

                if (profesional != null)
                {
                    this.profesional_id = ProfesionalID;

                    txtbProfApellido.Text = profesional.Apellidoprof;
                    txtbProfNombre.Text = profesional.Nombreprof;
                    txtbProfNroDoc.Text = Convert.ToString(profesional.DNIprof);
                    txtbProfDom.Text = profesional.Domicilioprof;
                    txtbProfTel1.Text = profesional.Telefonoprof;
                    txtbProfEspecialidad.Text = profesional.Especialidadprof;
                            
                }
         
        }

        void habilitarAceptar()
        {
            if (nombreValido)
                btnGuardar.Enabled = true;
            else
                btnGuardar.Enabled = false;
        }

        void guardarNuevoProfesional()
        {
            Profesionales Profnuevo = new Profesionales();
            Profnuevo.Apellidoprof = txtbProfApellido.Text;
            Profnuevo.Nombreprof = txtbProfNombre.Text;
            Profnuevo.DNIprof = Convert.ToInt32(txtbProfNroDoc.Text);
            Profnuevo.Domicilioprof = txtbProfDom.Text;
            Profnuevo.Telefonoprof = txtbProfTel1.Text;
            Profnuevo.Especialidadprof = txtbProfEspecialidad.Text;
            Profnuevo.localidadprof = txtbLocalidadprof.Text;
            Profnuevo.Establecimiento = txtbEstablecProf.Text;

            context.AddToProfesionales(Profnuevo);

            context.SaveChanges();

            MessageBox.Show("El Profesional ha sido Guardado con Exito ",
                                                  "Remediar +Redes", MessageBoxButtons.OK, MessageBoxIcon.Information);
            this.profesional_id = Profnuevo.idprofesional;
            this.Close();

        }

        void modificarCliente()
        {
            Profesionales prof = context.Profesionales.FirstOrDefault(p => p.idprofesional == this.profesional_id);


            if (prof != null)
            {
                prof.Apellidoprof = txtbProfApellido.Text;
                prof.Nombreprof = txtbProfNombre.Text;
                prof.DNIprof = Convert.ToInt32(txtbProfNroDoc.Text);
                prof.Domicilioprof = txtbProfDom.Text;
                prof.Telefonoprof = txtbProfTel1.Text;
                prof.Especialidadprof = txtbProfEspecialidad.Text;

                context.SaveChanges();
                MessageBox.Show("Los datos del Profesional fueron editados correctamente", "Operacion exitosa", MessageBoxButtons.OK, MessageBoxIcon.Information);
                this.Close();
            }
            else
            {
                MessageBox.Show("No se pudo recuperar la informacion del profesional", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                this.Close();
            }
        }


        private void btnCerrar_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        

        private void txtbCliNroDoc_KeyPress(object sender, KeyPressEventArgs e)
        {
            LABORATORIOCAPS2LIBRES.Clases.Validar.ValidarNumeros(e);
        }

        private void txtbCliTel1_KeyPress(object sender, KeyPressEventArgs e)
        {
            LABORATORIOCAPS2LIBRES.Clases.Validar.ValidarNumeros(e);
        }

        private void txtbProfApellido_TextChanged(object sender, EventArgs e)
        {
            if (txtbProfApellido.Text != "")
                nombreValido = true;
            else
                nombreValido = false;

            habilitarAceptar();
        }

        private void btnGuardar_Click_1(object sender, EventArgs e)
        {
            try
            {
                if (editando)
                    modificarCliente();
                else
                    guardarNuevoProfesional();
            }
            catch (Exception error)
            {
                MessageBox.Show(error.Message);
            }
        }

       
    }
}
